package com.hmdp.utils;


import com.hmdp.dto.UserDTO;
import com.hmdp.entity.User;
/**
 * threadLocal为每个线程提供一份单独的存储卡空间，基于线程进行数据隔离，
 * 客户端发出的每个请求对应的都是一个线程，所以每个线程都对应一个唯一的线程id。因此我要获取创建人和修改人的id,
 * 那么就可以将线程下拦截器解析出来的用户id保存到该存储空间，在当前请求中直接取出使用
 */
public class UserHolder {
    private static final ThreadLocal<UserDTO> tl = new ThreadLocal<>();

    public static void saveUser(UserDTO userId){
        tl.set(userId);
    }

    public static UserDTO getUser(){
        return tl.get();
    }

    public static void removeUser(){
        tl.remove();
    }
}
